首页玩机区爱玩机

用ADB命令解决手机替换系统文件导致死机或无限重启

爱玩机 ▪ 玩机技巧

2016-05-22 11:14

原贴地址:  转帖


基础知识:adb 介绍


adb的全称为Android Debug Bridge 调试桥,是连接Android手机与PC端的桥梁,通过adb可以管理、操作模拟器和设备,如安装软件、系统升级、运行shell命令等。


管理设备
注:android手机、模拟器统一称为“设备”
adb devices  // 显示连接到计算机的设备
adb get-serialno // 获取设备的ID和序列号serialNumber
------------------重启----------------------------------------------
adb reboot  // 重启设备
adb reboot bootloader  // 重启到bootloader,即刷机模式
adb reboot recovery  // 重启到recovery,即恢复模式
------------------发送命令到设备--------------------------------------
adb [-d|-e|-s <serialNumber>] <command>
-d 发送命令给usb连接的设备
-e 发送命令到模拟器设备
-s <serialNumber> 发送命令到指定设备


adb相关
adb kill-server // 终止adb服务进程
adb start-server // 重启adb服务进程
adb root // 已root权限重启adb服务
adb wait-for-device // 在模拟器/设备连接之前把命令转载在adb的命令器中
获取设备硬件信息
adb shell  cat /sys/class/net/wlan0/address  // 获取mac地址
adb shell cat /proc/cpuinfo  // 获取cpu序列号



管理设备app
aapt d badging <apkfile> // 获取apk的packagename 和 classname
------------------安装----------------------------------------------
adb install <apkfile>  // 安装apk
adb install -r <apkfile> // 保留数据和缓存文件,重新安装apk,
adb install -s <apkfile>  // 安装apk到sd卡
------------------卸载----------------------------------------------
adb uninstall <package>  // 卸载app
adb uninstall -k <package>  // 卸载app但保留数据和缓存文件
------------------启动app-------------------------------------------
adb shell am start -n <package_name>/.<activity_class_name> // 启动应用
------------------查看内存占用----------------------------------------
adb shell top  // 查看设备cpu和内存占用情况
adb shell top -m 6 // 查看占用内存前6的app
adb shell top -n 1 // 刷新一次内存信息,然后返回
adb shell procrank // 查询各进程内存使用情况
adb shell kill [pid] // 杀死一个进程
adb shell ps // 查看进程列表


adb shell ps -x [PID] // 查看指定进程状态
adb shell service list // 查看后台services信息
adb shell cat /proc/meminfo // 查看当前内存占用
adb shell cat /proc/iomem // 查看IO内存分区


文件操作
//android中,sdcard代表内置存储,不同系统中tf卡的设备名可能不同,使用查看adb shell ls mnt查看所有存储设备名。
adb remount  // 将system分区重新挂载为可读写分区
adb push <local> <remote> // 从本地复制文件到设备
adb pull <remote> <local> // 从设备复制文件到本地
adb shell ls // 列出目录下的文件和文件夹,等同于dos中的dir命令
adb shell cd <folder> // 进入文件夹,等同于dos中的cd 命令
adb shell rename path/oldfilename path/newfilename // 重命名文件
adb shell rm /system/avi.apk  // 删除system/avi.apk //rm -f 1.apk 强制删除1.apk
adb shell rm -r <folder> // 删除文件夹及其下面所有文件
adb shell mv path/file newpath/file // 移动文件


adb shell chmod 777 /system/fonts/DroidSansFallback.ttf // 设置文件权限 //system 644 all 777
adb shell mkdir path/foldelname // 新建文件夹
adb shell cat <file> // 查看文件内容


进行ADB连接之前,请先复制好adb所需文件到
电脑系统盘Windows文件夹下


运用命令行还可以解决如忘记图形锁屏密码、忘记锁屏数字密码之类的问题。


以下正式开始:


以下是本人解决问题是用到的若干语句:(未整理,如果你懂一些linux命令,我相信这已经足够你解决问题,如果你不知道可以先学习)
adb devices
adb shell
su
adb remount
mount -o remoutn rw /system %mount -o remount,rw /
adb chmod 644 /system/SystemUI.apk
adb chmod 644 /system/SystemUI.odex


%
chmod 644 SystemUI.apk
mv /system/SystemUI.apk /system/app/SystemUI.apk
%
上一层  cd \..
返回或退出 exit



当adb push DockService.apk /sdcard/
出现faild to copy 'DockService.apk' to '/sdcard//DockService.apk' :Permission denied


原因是/system是只读的,你需要先执行 adb remount


命令 adb remount 之后,命令终端显示
remount failed: Operation not permitted adb remount 失败。


接着:


1. 确定是否正确连接手机了
adb devices
adb shell
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
chmod 777 /system
cd system
chmod 777 app
cd app
chmod 777 SystemUI.apk


4. 然后你就有apk文件(或者系统目录)的读写权限了,例如你就可以使用adb push 把文件push到系统目录中去了,或者删除系统文件



1. 查看设备
adb devices


这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示


2. 安装软件
adb install <apk文件路径>


这个命令将指定的apk文件安装到设备上


3. 卸载软件
adb uninstall <软件名>
adb uninstall -k <软件名>


如果加 -k 参数,为卸载软件但是保留配置和缓存文件.



4. 登录设备shell
adb shell
adb shell <command命令>


这个命令将登录设备的shell.
后面加<command命令>将是直接运行设备命令, 相当于执行远程命令



5. 从电脑上发送文件到设备
adb push <本地路径> <远程路径>


用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)



6. 从设备上下载文件到电脑
adb pull <远程路径> <本地路径>


用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑



7. 显示帮助信息
adb help


这个命令将显示帮助信息



8.删除文件和文件夹


tools>adb remount
tools>adb shell
#su
#cd system/sd/data //进入系统内指定文件夹
#ls //列表显示当前文件夹内容
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
#rm xxx //删除文件xxx
#rmdir xxx //删除xxx的文件夹



9.使用mkdir命令新建文件夹。例如:mkdir images


adb install d:\hello.apk
adb unstall com.huawei.hello
说明:如果带-r选项重新安装apk时,安装在 /data/local/tmp/目录下,手机重启后还是使用原来的apk.


-----------文件操作 系列-----------
adb push <local> <remote>    - copy file/dir to device
adb pull <remote> <local>    - copy file/dir from device


-----------基本linux shell命令 系列-----------
adb shell [command]
ls 列出目录下的文件和文件夹
cd 切换目录
rm 删除目录和文件
cat  查看文件内容
ps 可以看那个进程再跑
ps -x [PID] 查看单个进程的状态
top 可以看那个进程的占用率最高
su 切换到root用户
kill [pid] 杀死一个进程
chmod 777 <file> 修改该文件为可执行权限


再附上一些技巧性的adb命令:



忘记图形锁屏密码的命令:
adb devices
adb remount
adb shell rm /data/system/gesture.key
adb reboot

忘记锁屏数字密码的命令
adb devices
adb remount
adb shell rm /data/system/password.key
adb reboot


修改开关机动画,准备好源文件后执行下列命令:
adb devices
adb remount
adb push power_off.gif /opl/data/res/images
adb push boot_animation.gif /opl/data/res/images
adb shell chmod 644 /opl/data/res/images/power_off.gif
adb shell chmod 644 /opl/data/res/images/boot_animation.gif


最后再给大家说一些常用的adb命令,及其意思,大家随意组合使用。


ADB命令帮助:
adb help


查看设备状态:
adb devices


重新挂载系统:
adb remount


获取超级权限:
adb root


进入超级终端:
adb shell


查看手机日志:
adb logcat


查看bug报告:
adb bugreport


重新启动手机:
adb reboot


重启到Recovery:
adb reboot recovery


重启到bootloader:
adb reboot bootloader


查看手机全部信息参数:
adb remount
adb shell getprop


安装应用程序:
adb install <apk文件名>


卸载应用程序:
adb uninstall <apk文件名>


提取手机或SD中文件:
adb pull /system/app/Browser.apk


删除系统或SD中文件:
adb shell rm /system/app/Browser.apk


chmod 777 Launcher2.apk


adb devices
adb remount
adb push C:\framework-res.apk /system/framework
adb push C:\SystemUI.odex /system/app
adb push C:\SystemUI.apk /system/app
adb push C:\Launcher2.apk /system/app
adb shell chmod 644 /system/framework/framework-res.apk
adb shell chmod 644 /system/app/SystemUI.odex
adb shell chmod 644 /system/app/SystemUI.apk
adb shell chmod 644 /system/app/Launcher2.apk
adb reboot




adb push SystemUI.odex /app



cat /sdcard/framework-res.apk>/system/framework-res.apk
chmod 644 /system/framework-res.apk
*chown 0.0 /system/framework-res.apk
mv /system/framework-res.apk /system/framework/framework-res.apk
rm /sdcard/framework-res.apk



举报回复

请您选择举报理由
close

设置帖子

设置帖子
备注
close

操作记录

操作记录
操作者 时间 操作 备注
close

编辑回复

close

VOC推送

VOC推送
帖子标题: 用ADB命令解决手机替换系统文件导致死机或无限重启
所属版块: 玩机区>爱玩机
部 门:
备注信息:
消息内容:
close

温馨提示

VOC帖子推送
该版块未设置问题反馈主题,不能被推送为VOC
帖子名称: 用ADB命令解决手机替换系统文件导致死机或无限重启
所属板块: 玩机区>爱玩机
close

删除帖子

删除帖子
删除原因
close

审核帖子

帖子名称 用ADB命令解决手机替换系统文件导致死机或无限重启
*审核状态
*备注信息:
close